using System;

namespace Infinity.Common.Logger
{
	public abstract class LoggerBase : ILogger
	{
		public abstract void Flush();
		public abstract void Alert(string text);
		public abstract void Info(string text);
		public abstract void Warning(string text);
		public abstract void Error(string text);
		public abstract void Write(string text = "");

		public virtual void WriteLine(string text = "")
		{
			Write(text + Environment.NewLine);
		}

		public virtual void Write(string text, params object[] args)
		{
			Write(string.Format(text, args));
		}

		public virtual void WriteLine(string text, params object[] args)
		{
			WriteLine(string.Format(text, args));
		}
	}
}